using System;
using System.Collections.Generic;
using Orchard.Collections;
using Orchard.ContentManagement.MetaData.Models;
using Orchard;
using Orchard.Indexing;
using Orchard.UI.Navigation;
using SchoolPointe.Menus.Models;
using SchoolPointe.Menus.ViewModels;

namespace SchoolPointe.Menus.Services
{
    public interface IMenuService : IDependency
    {
        IEnumerable<ContentTypeDefinition> GetPossibleContentTypes();
        IPageOfItems<T> SearchForContentItems<T>(string query, int page, int? pageSize, string[] searchFields, string[] contentTypes, Func<ISearchHit, T> shapeResult);
        IEnumerable<MenuViewModel> GetMenus();
        IEnumerable<INavigationProvider> GetNavigationProviders();
    }
}